package com.liang.lesson2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;

public class Test {
    // JDBC 配置
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/jdbcStudy"; // 替换为实际的数据库 URL
    private static final String JDBC_USERNAME = "root"; // 数据库用户名
    private static final String JDBC_PASSWORD = "123456"; // 数据库密码
    // 数据库驱动类的加载 (可选，依赖于 JDBC 版本)
//    public static void loadDriver() {
//        try {
//            // JDBC 4.0及以上版本可以省略这行代码，JDBC驱动会自动加载
//            // Class.forName("com.mysql.cj.jdbc.Driver"); // 这是MySQL的JDBC驱动类
//            System.out.println("Driver Loaded.");
//        } catch (Exception e) {
//            System.out.println("Failed to load driver.");
//            e.printStackTrace();
//        }
//    }

    // 连接数据库并执行插入操作
    public static void insertData() {
        // 连接对象和Statement对象
        Connection connection = null;
        Statement statement = null;

        try {
            // 1. 连接到数据库
            connection = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD);
//            public static Connection getConnection() throws SQLException {
//                return DriverManager.getConnection(url, username, passord);
//            }
            System.out.println("Database connected.");

            // 2. 创建SQL语句
            String sql = "INSERT INTO `www`(id, `NAME`, `PASSWORD`, `email`, `birthday`) " +
                    "VALUES(5, 'John Doe', 'password123', 'johndoe@example.com', '1990-01-01');";

            // 3. 创建 Statement 对象
            statement = connection.createStatement();

            // 4. 执行 SQL 插入操作
            int rowsAffected = statement.executeUpdate(sql);  // executeUpdate() 用于执行 INSERT、UPDATE 或 DELETE 语句
            System.out.println("Rows affected: " + rowsAffected);

        } catch (SQLException e) {
            System.out.println("SQL Error occurred.");
            e.printStackTrace();
        } finally {
            // 5. 释放连接资源
            try {
                if (statement != null) {
                    statement.close();
                    System.out.println("Statement closed.");
                }
                if (connection != null) {
                    connection.close();
                    System.out.println("Connection closed.");
                }
            } catch (SQLException e) {
                System.out.println("Error closing resources.");
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args) {
//        loadDriver(); // 加载数据库驱动 (在JDBC 4.0及以上版本可以省略)
        insertData(); // 向数据库中插入数据
    }
}